﻿
using System.Windows;
namespace InstantWatch {
	public class QueueItem : DependencyObject {



		#region Properties


		public string Id {
			get { return (string)GetValue(IdProperty); }
			set { SetValue(IdProperty, value); }
		}
		public static readonly DependencyProperty IdProperty =
				DependencyProperty.Register("Id", typeof(string), typeof(QueueItem));

		public string Name {
			get { return (string)GetValue(NameProperty); }
			set { SetValue(NameProperty, value); }
		}
		public static readonly DependencyProperty NameProperty =
				DependencyProperty.Register("Name", typeof(string), typeof(QueueItem));

		/// <summary>
		/// Gets or sets the path to the local copy of the box art.
		/// </summary>
		/// <value>The the path to the local copy of the box art.</value>
		public string BoxArtFile {
			get { return (string)GetValue(BoxArtFileProperty); }
			set { SetValue(BoxArtFileProperty, value); }
		}
		public static readonly DependencyProperty BoxArtFileProperty =
				DependencyProperty.Register("BoxArtFile", typeof(string), typeof(QueueItem));

		/// <summary>
		/// Gets or sets the original source of the box art.
		/// </summary>
		/// <value>The original source of the box art.</value>
		public string BoxArtSource {
			get { return (string)GetValue(BoxArtSourceProperty); }
			set { SetValue(BoxArtSourceProperty, value); }
		}
		public static readonly DependencyProperty BoxArtSourceProperty =
				DependencyProperty.Register("BoxArtSource", typeof(string), typeof(QueueItem));

		public string SynopsisSource {
			get { return (string)GetValue(SynopsisSourceProperty); }
			set { SetValue(SynopsisSourceProperty, value); }
		}
		public static readonly DependencyProperty SynopsisSourceProperty =
				DependencyProperty.Register("SynopsisSource", typeof(string), typeof(QueueItem));

		public string WatchLink {
			get { return (string)GetValue(WatchLinkProperty); }
			set { SetValue(WatchLinkProperty, value); }
		}
		public static readonly DependencyProperty WatchLinkProperty =
				DependencyProperty.Register("WatchLink", typeof(string), typeof(QueueItem));
		#endregion


		#region Overrides
		public override string ToString() {
			return string.Format("{0} - {1}",
				Id ?? "<no Id>",
				Name ?? "<no name>");
		}
		#endregion



	}
}
